package com.htl.reflection.test;

import com.htl.reflection.entity.Cat;

import java.lang.reflect.Field;

public class Reflection__test4 {
    public static void main(String[] args) throws Exception {
        // 获取Class
        Class clazz = Cat.class;

        // 创建对象
        Object o = clazz.getConstructor(null).newInstance(null);
        System.out.println(o);
        System.out.println("=======================================================");

        // 获取属性
        Field id = clazz.getDeclaredField("id");
        // 暴力反射，即使属性是私有的，也能赋值。（不推荐）
        id.setAccessible(true);
        // 复制
        id.set(o,4);

        Field name = clazz.getDeclaredField("name");
        name.setAccessible(true);
        name.set(o, "李四");

        System.out.println(o);

    }
}
